package application;

/**
*	@(#) Refresh.java
*
*	Une commande concrete implementant l'interface Command.
*	Cette commande permet de mettre a jour l'etat de l'interface homme-machine
*	avec l'etat de l'editeur.
*
*	@see Command
*/
public class Refresh implements Command {
	
	/**
	*	L'interface homme-machine que l'on veut mettre a jour. 
	*/
	private UI ui;
	
	/**
	*	L'editeur dont l'etat va etre utilise pour realiser la mise a jour de 
	*	l'interface homme-machine. 
	*/
	private Editor editor;

	/**
	*	Constructeur Refresh.
	*/
	public Refresh(UI ui, Editor editor) {
		this.ui=ui;
		this.editor=editor;
	}
	
	/**
	*	Lance la mise a jour de l'interface homme-machine.
	*/
	public void execute() {
		ui.refresh(editor.getBuffer().getText(), editor.getSelection().getBegin(), editor.getSelection().getEnd());
	}

	/**
	*	Lance la mise a jour de l'interface homme-machine.
	*/
	public void executeM() {
		ui.refresh(editor.getBuffer().getText(), editor.getSelection().getBegin(), editor.getSelection().getEnd());
	}

	/**
	*	L'etat de cette commande n'est pas destine a etre conserve.
	*/	
	public Memento getMemento() {
		return null;
	}

	/**
	*	L'etat de cette commande n'est pas destine a etre restaure.
	*/
	public void setMemento(Memento memento) {
	}

}
